package MODEL;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.GregorianCalendar;
import oracle.jdbc.OracleTypes;

/**
 * Classe de mapeamento da entidade espectador
 */
public class EspectadorModel  extends PessoaModel {
    private Integer           codigo;
    private CallableStatement chamada;
    
    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }
    
    /**
     * Método de persistência da atribuição de ingresso ao espectador
     * 
     * @param conexao
     * @param data
     * @param valor
     * @throws java.sql.SQLException
     */      
    public void atribuirIngressoDB(
            Connection conexao,
            GregorianCalendar data,
            Float valor
    ) throws SQLException {
        chamada = conexao.prepareCall("call F_ATRIBUIR_INGRESSO(?,?,?)");
        chamada.setInt(1, getCpf());
        chamada.setDate(2, calendarToDateSQL(data));
        chamada.setFloat(3, valor);
        chamada.execute();
    }
}
